1. Field of the Invention
The present invention relates generally to network management systems and more particularly to a network management apparatus and method capable of determining the topology of a network.
2. Description of the Related Art
The following description is concerned with a data communications network, and in particular a local area network (LAN), but it will be appreciated that the present invention has more widespread applicability to other managed communications systems and networks including wide area networks (WANs) and wireless communications networks.
Data communications networks typically comprise a plurality of network devices (computers, peripherals and other electronic devices) capable of communicating with each other by sending and receiving data packets in accordance with predefined network protocols. Each network device is connected by at least one port to the network media, which in the case of a LAN network may be coaxial cable, twisted pair cable or fibre optic cable. Each device on the network typically has hardware for media access control (MAC) with its own unique MAC address. Data packets are sent and received in accordance with the MAC protocol (e.g. CSMA/CD protocol as defined by the standard IEEE 802.2, commonly known as Ethernet). Data packets transmitted using the MAC protocol identify the source MAC address (i.e. the MAC address of the device sending the data packet) and the destination MAC address (i.e. the MAC address of the device for which the data packet is destined) in the header of the data packet.
A network is generally configured with core devices having a plurality of ports, which can be used to interconnect a plurality of media links on the network. Such devices include hubs, repeaters, routers and switches which forward data packets received at one port to one or more of its other ports, depending upon the type of device. For example, a switch forwards a data packet, received at one port, only to a port known to be connected to the destination device specified in the data packet. Such core devices can either be managed or unmanaged.
A managed device is capable of monitoring data packets passing through its ports. For example, a managed device can learn the physical or MAC addresses of the devices connected to its ports by monitoring the source address of data packets passing through the respective ports. Identified source addresses transmitted from a port of a managed network device, such as a router, hub, repeater or switch, are stored in a respective “address table” associated with the port, as described further below.
Managed devices additionally have the capability of communicating using a management protocol such as the Simple Network Management Protocol (SNMP), as described in more detail below. Whilst the following description is concerned with the SNMP management protocol, the skilled person will appreciate that the invention is not limited to use with SNMP, but can be applied to managed networks using other network management protocols.
SNMP defines agents, managers and MIBs (where MIB is Management Information Base), as well as various predefined messages and commands for communication of management data. An agent is present in each managed network device and stores management data and responds to requests from the manager. A manager is present within the network management station of a network and automatically interrogates the agents of managed devices on the network using various SNMP commands, to obtain information suitable for use by the network administrator, whose function is described below. A MIB is a managed “object” database which stores management data obtained by managed devices and is accessible to agents for network management applications.
It is becoming increasingly common for an individual, called the “network administrator”, to be responsible for network management, and his or her computer system or workstation is typically designated the network management station. The network management station incorporates the manager, as defined in the SNMP protocol, i.e. the necessary hardware, and software applications to retrieve data from MIBs by sending standard SNMP requests to the agents of managed devices on the network.
Network management software applications are known which can determine the topology of a network, i.e. the devices on the network and how they are linked together. In order to determine the network topology, the application retrieves MIB data from the managed devices on the network, which can provide information about the devices connected to the managed devices, for instance the aforementioned “address tables”. MIB data retrieved from managed devices can also provide information about device type, device addresses and details about the links. Using such data, the application can usually determine the topology of the entire network.
An example of a known network management software application capable of determining network topology is the 3Com® Network Supervisor available from 3Com Corporation of Santa Clara, Calif., USA.
This system, and other similar systems, determines the topology of the network by building a “network tree”. In particular a network device or “node” is selected as a “root node” (which is typically a managed switch or bridge) and the system uses the MIB data to determine the identity of all the “child nodes” of each of the ports of a root node.
The child nodes of a given port are the devices, the addresses of which the port has learnt by monitoring the source addresses of data packets passing through the port. In other words, the child nodes are network devices which are connected on a “branch” of the network to the relevant port, and which have sent data packets to network devices on other branches of the network through the root device.
The process is then repeated for each of the child nodes, to determine which nodes are children of each child node, their orientation with respect to each other and thus the structure of the branch. This process builds up the “network tree”. More details of the manner of determining network topology in this way can be found in RFC 2108 “Definitions of Managed Objects for IEEE 802.3 Repeater Devices using SMIv2”, which is incorporated herein by reference.
A problem with this method of determining network topology is encountered when the topology of a network is not a “tree”, but includes a “loop”. A loop is formed when an additional link is introduced in the network topology to provide an additional network path between network devices. Such additional links are often included to provide additional resilience to the network, i.e. to enable data packets to be communicated between devices even when a link between the devices is inactive (e.g. physically broken).
However, a loop can give rise to problems on a network. In particular, since there is more than one path between two network devices, data packets may be duplicated, since core network devices, such as switches, will send packets along all possible paths to the destination device, leading to excessive network traffic.
To overcome this problem, a Spanning-Tree Protocol is employed to ensure that only one active path exists between any two network devices. This is achieved by making the other possible paths redundant. A known Spanning-Tree Protocol is defined in the IEEE 802.1D Bridge Protocol standard, which is incorporated herein by reference. The skilled person will appreciate that other suitable Spanning-Tree protocols may be employed.
This Spanning-Tree Protocol (STP) is a link management protocol implemented in managed network devices, in particular, switches. STP defines Spanning-Tree data packets which are exchanged by switches during a negotiation process, as described below. STP additionally defines the following possible states for a port of a switch: blocking; listening; learning; forwarding and disabled. A port in the blocking state discards received data packets, and discards data packets passed to the port by the switch for forwarding, and is thus “inactive”. This state is effective to prevent duplication of data packets where two possible paths exist to the destination device. As previously indicated, a problem arises with the above described method of determining network topology by the network management system if loops are present on the network. Even if STP is implemented, prior to completion of the negotiation process, data packets will be passed along the possible different paths to the same network device. Consequently, ports which are eventually placed in the blocking state still learn and store addresses in their address tables at this stage. Thus, in attempting to build a “tree” using the aforementioned method, the network management system will find, for instance, that several devices on different branches of the tree share a child device. The resulting conflicting information can make it impossible to determine the network topology.
The present invention aims to address this problem.